<?php

namespace catchAdmin\basics\model;

use catcher\base\CatchModel;
use catchAdmin\basics\model\search\AddDataSearch;
/**
 *
 * @property int $id
 * @property int $sort
 * @property string $name
 * @property int $data_type
 * @property string $display_mode
 * @property string $corresponding_business
 * @property int $tenant_id
 * @property int $creator_id
 * @property int $created_at
 * @property int $updated_at
 * @property int $deleted_at
 */
class AddData extends CatchModel
{
    use AddDataSearch;
    
    public $field = [
        // 附加数据ID
        'id',
        // 排序
        'sort',
        // 中文名称
        'c_name',
        // 英文名称
        'e_name',
        // 数据类型:1=文本,2=整型,3=日期时间,4=日期
        'data_type',
        // 显示方式
        'display_mode',
        // 对应业务:AE=空运出口,AI=空运进口,SE=海运出口,SI=海运进口,NM=内贸业务,BS=保税业务,BG=报关业务
        'corresponding_business',
        // 商户
        'tenant_id',
        // 创建人id
        'creator_id',
        // 创建时间
        'created_at',
        // 更新时间
        'updated_at',
        // 删除时间
        'deleted_at',
    ];
    
    public $name = 'db_add_data';

    /**
     * 列表
     * @throws \think\db\exception\DbException
     * @return \think\Paginator
     */
    public function getList($tenant_id = 0)
    {
        $where = [];
        if($tenant_id != 0){
            $where[]=['tenant_id','=',$tenant_id];
        }
        return $this->catchSearch()
            ->order('id','desc')
            ->where($where)
            ->withoutField('tenant_id,updated_at,deleted_at,created_at,creator_id')
            ->paginate()
            ->each(function (&$item){
                $item['corresponding_business'] = $item['corresponding_business'] ? explode(',',$item['corresponding_business']) : [];
            });
    }
}